package com.ztr.zdypost.custom;

import java.util.List;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * <p>
 * 注册参数解析器
 * </p>
 */
@Configuration
public class RequestPostSingleParamResolverConfig implements WebMvcConfigurer {

    /**
     * 添加自定义的参数解析器。
     * <p>
     * 本方法旨在为Spring MVC添加一个专门用于处理请求中单个参数的解析器。
     * 通过将{@link RequestPostSingleParamMethodArgumentResolver}实例添加到解析器列表中，
     * 可以使Spring MVC在处理请求时，能够更灵活地解析特定格式的参数。
     *
     * @param resolvers 参数解析器列表，用于存储和管理所有的参数解析器。
     *                  本方法将一个新的解析器添加到这个列表中，以扩展Spring MVC的参数处理能力。
     */
    @Override
    public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
        // 添加自定义的单参数解析器
        resolvers.add(new RequestPostSingleParamMethodArgumentResolver());
        // 调用超类方法，以确保继承自WebMvcConfigurer的其他配置也得到应用
        WebMvcConfigurer.super.addArgumentResolvers(resolvers);
    }

}
